# MedTime

## Описание
MedTime - это веб-приложение на базе Django для прогнозирования нагрузки и автоматизации составления графика работы врачей-рентгенологов.

## Возможности

* Прогнозирование количества исследований.
* Создание врачами предварительного собственного графика работы.
* Оптимизация предварительного графика работы врачей в соответствии с прогнозом исследований.
* Утверждение графика работы.
* Генерация отчетов (прогнозирование и график работы).

## Стек технологий
* **Python** - Язык программирования, используемый для разработки бэкенда приложения.
* **Django** - Высокоуровневый веб-фреймворк, который обеспечивает быструю разработку.
* **Django Rest Framework** - Мощный и гибкий фреймворк для построения веб-API.
* **Django Simple JWT** - Библиотека для JSON Web Token аутентификации пользователей.
* **Django Filters** - Библиотека для создания простых и настраиваемых фильтров в Django.
* **Docker** - Платформа для разработки, доставки и запуска приложений в контейнерах.
* **Docker Compose** - Инструмент для определения и запуска многоконтейнерных приложений Docker.
* **DRF Spectacular** - Библиотека для генерации документации API с помощью OpenAPI 3.0 Schema.
* **PostgreSQL** - Открытая объектно-реляционная система управления базами данных (СУБД).
* **statsmodels** - Библиотека для статистического моделирования и анализа данных.
* **numpy** - Основная библиотека для работы с многомерными массивами и матрицами.
* **Celery** - Асинхронный планировщик задач для обработки долгих или отложенных задач, с поддержкой периодических.
* **Git** - Распределенная система управления версиями.

## Начало работы

### Предварительные требования

Убедитесь, что у вас установлены:

* [Docker](https://www.docker.com/get-started)
* [Docker Compose](https://docs.docker.com/compose/install/)

### Установка

1. Клонируйте репозиторий:
```bash
git clone ...
```

2. Настройте файл .env на основе env-like.env (определите настройки базы данных и прочие параметры).


3. После установки Docker Compose создайте и запустите проект в докер-контейнерах:

```bash
docker-compose up
```

### Команды для первого запуска
Загрузка пользователей в систему
```bash
docker exec -it medtime-back python manage.py load_users_fixtures
```

загрузка фикстур для сервисов
```bash
docker exec -it medtime-back python manage.py load_servise_fixtures
```

Создание суперпользователя
```bash
docker exec -it medtime-back python manage.py createsuperuser
```

---

Создано с ❤️ и ☕
